#include<iostream>
#include <algorithm>
using namespace std;
float a[100];
void two(int i,int j,float &fmin2,float &fmin1){
    float lmin2,lmin1,rmin2,rmin1;
    int mid;
    if(i==j){
        fmin2=fmin1=a[i];
    }
    else if(i==j-1){
        if(a[i]<a[j]){
            fmin2=a[j];
            fmin1=a[i];
        }
        else {
            fmin2=a[i];
            fmin1=a[j];
        }
    }
    else {
        mid=(i+j)/2;
        two(i,mid,lmin2,lmin1);
        two(mid+1,j,rmin2,rmin1);
        if(lmin1<rmin1){
            if(lmin2<rmin1){
                fmin1=lmin1;
                fmin2=lmin2;
            }
            else {
                fmin1=lmin1;
                fmin2=rmin1;
            }
        }
        else if(rmin2<lmin1){
            fmin1=rmin1;
            fmin2=rmin2;
        }
        else {
            fmin1=rmin1;
            fmin2=lmin1;
        }
    }
}
float second(int n){
    float min2,min1;
    two(0,n-1,min2,min1);
    return min2;
}
int main(){
    int n;
    float min2;
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];
    min2=second(n);
    cout<<min2;
}